import axios from '@/request/http'
import { commonOutDTO, pageCommonInputDTO, pageCommonOutDTO } from '@/api/common.d'
import {
  GzkjAddInputDTO,
  GzkjAddOutputDTO,
  GzkjDeleteInputDTO,
  GzkjGetInputDTO,
  GzkjGetOutputDTO,
  GzkjQueryParam,
  GzkjQueryResult,
  SjfcpzAddInputDTO,
  SjfcpzDeleteInputDTO,
  SjfcpzUpdateInputDTO,
  SjfcpzGetInputDTO,
  SjfcpzGetOutputDTO,
  SjfcpzQueryResult,
  PzlbQueryParam,
  PzlbQueryResult,
  GzkjYzscInputDTO,
  GzkjYzscOutputDTO,
  KjrySaveInputDTO,
  KjryDeleteInputDTO,
  KjryjsSaveInputDTO,
  KjryQueryResult,
  SjfcpzQueryParam,
  querySjfcpzlbOutputDTO,
  SjstfzQueryParam,
  SjstfzQueryResult,
  querySjfclbInputDTO,
} from './kjgl-dto'

export default class kjglService {
  /**
   * 保存工作空间
   */
  static saveGzkj (data: GzkjAddInputDTO): Promise<commonOutDTO<GzkjAddOutputDTO>> {
    return axios.post('/api/kjgl/saveGzkj', data)
  }
  /**
   * 删除工作空间
   */
  static deleteGzkj (data: GzkjDeleteInputDTO): Promise<commonOutDTO<null>> {
    return axios.post('/api/kjgl/deleteGzkj', data)
  }
  /**
   * 查询工作空间
   */
  static getGzkj (data: GzkjGetInputDTO): Promise<commonOutDTO<GzkjGetOutputDTO>> {
    return axios.post('/api/kjgl/getGzkj', data)
  }
  /**
   * 分页查询工作空间
   */
  static queryGzkj (
    data: pageCommonInputDTO<GzkjQueryParam>,
  ): Promise<commonOutDTO<pageCommonOutDTO<GzkjQueryResult[]>>> {
    return axios.post('/api/kjgl/queryGzkj', data)
  }
  /**
   * 新增数据分层配置
   */
  static addSjfcpz (data: SjfcpzAddInputDTO): Promise<commonOutDTO<null>> {
    return axios.post('/api/kjgl/addSjfcpz', data)
  }
  /**
   * 删除数据分层配置
   */
  static deleteSjfcpz (data: SjfcpzDeleteInputDTO): Promise<commonOutDTO<null>> {
    return axios.post('/api/kjgl/deleteSjfcpz', data)
  }
  /**
   * 修改数据分层配置
   */
  static updateSjfcpz (data: SjfcpzUpdateInputDTO): Promise<commonOutDTO<null>> {
    return axios.post('/api/kjgl/updateSjfcpz', data)
  }
  /**
   * 查询数据分层配置
   */
  static getSjfcpz (data: SjfcpzGetInputDTO): Promise<commonOutDTO<SjfcpzGetOutputDTO>> {
    return axios.post('/api/kjgl/getSjfcpz', data)
  }
  /**
   * 分页查询数据分层配置
   */
  static querySjfcpz (
    data: pageCommonInputDTO<SjfcpzQueryParam>,
  ): Promise<commonOutDTO<pageCommonOutDTO<SjfcpzQueryResult[]>>> {
    return axios.post('/api/kjgl/querySjfcpz', {})
  }
  /**
   * 查询工作空间配置类别数据源
   */
  static queryPzlb (data: PzlbQueryParam): Promise<commonOutDTO<PzlbQueryResult[]>> {
    return axios.post('/api/kjgl/queryPzlb', data)
  }
  /**
   * 验证刪除工作空间
   */
  static checkScgzkj (data: GzkjYzscInputDTO): Promise<commonOutDTO<GzkjYzscOutputDTO>> {
    return axios.post('/api/kjgl/checkScgzkj', data)
  }
  /**
   * 保存当前空间人员
   */
  static saveKjry (data: KjrySaveInputDTO): Promise<commonOutDTO<null>> {
    return axios.post('/api/kjgl/saveKjry', data)
  }
  /**
   * 刪除当前空间人员
   */
  static deleteKjry (data: KjryDeleteInputDTO): Promise<commonOutDTO<null>> {
    return axios.post('/api/kjgl/deleteKjry', data)
  }
  /**
   * 保存当前空间人员角色
   */
  static saveKjryjs (data: KjryjsSaveInputDTO): Promise<commonOutDTO<null>> {
    return axios.post('/api/kjgl/saveKjryjs', data)
  }
  /**
   * 查询当前空间人员
   */
  static queryKjry (): Promise<commonOutDTO<KjryQueryResult[]>> {
    return axios.post('/api/kjgl/queryKjry')
  }
  /**
   * 查询数据分层配置列表
   */
  static querySjfclb (data: querySjfclbInputDTO): Promise<commonOutDTO<querySjfcpzlbOutputDTO[]>> {
    return axios.post('/api/kjgl/querySjfclb', data)
  }
  /**
   * 查询数据实体分组列表
   */
  static querySjfz (data: SjstfzQueryParam): Promise<commonOutDTO<SjstfzQueryResult[]>> {
    return axios.post('/api/stfz/querySjfz', data)
  }
}
